home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Apple II Sample Code / MPW IIGS SC / SC.023.SoundEx / SoundEx.r < prev   
Encoding:
Text File  |  1990-06-23  |  52.0 KB  |  1,789 lines  |  [TEXT/MPS ]

  1. #include "typesIIgs.r"
  2.  
  3. /* Shell Application Resources - v3.0  Copyright 1988-1989 Apple Computer, Inc.
  4.    All shell resources are in the range 0x0000nnnn, the lowest allowable 64K
  5.    range of application resource IDs.                                              */
  6.  
  7. /* Changes since you last looked: 890821 --JML
  8.    Made rAlertString generic (removed all names to protect the innocent).
  9.    Centered rAlertString within Alert dialog. Added divider beneath "Close"
  10.    item so it would meet Human Interface Guidelines. Changed "File" menu's
  11.    rMenu resource to use ShellResStart + 3 instead of a hard coded resource number.
  12.    Changed file name from Shell.Rez to Shell.r so MPW will automatically find
  13.    the interface files. */
  14.    
  15. /* More changes: 890830 --DGS
  16.    Replaced expanded resource ID calculations with symbolic identifiers, expanded calculations
  17.    for these at top of the file. Revised format of menu resource ID calculation to include multiple
  18.    menu bars. Renamed the identifers for the base and shift values used in the ID calculation. 
  19.    Modified comments below and for resource rMenuBar. Made identifiers of resource IDs for controls 
  20.    and items distinct from the IDs of the controls and items and from the resource ID of the
  21.    corresponding title */
  22.  
  23.     /* for clarity and ease of distinguishing between IDs of resources and IDs of toolbox entities, 
  24.        identifiers for resource IDs are suffixed with RID and identifiers for other toolbox entities 
  25.        such as menu and window controls are suffixed with ID */
  26.        
  27. #define BaseResID 0x0                /* starting offset for shell resources */
  28. #define MenuBarIDShift 0x1000        /* multiplier for menu numbers in resource IDs */
  29. #define MenuIDShift 0x100            /* multiplier for menu bar numbers in resource IDs */
  30.  
  31.     /* The menu resource IDs are in the form 0x0000wxyy calculated as 
  32.        ID = BaseResID + (w*MenuBarIDShift) + (x*MenuIDShift) + yy, 
  33.        where w  is the menu bar number in the range $1 to $F, x is the number of the menu in the 
  34.        range $0 to $F and yy is the number of the item number in that menu in the range $01 to $FF.
  35.        The shell program uses the conventions that:
  36.        
  37.        1. the resource id of a menu is that of the zeroth item within it, 
  38.        
  39.        2. the resource id of a menu bar is that of the zeroth item in the zeroth menu
  40.        contained within that menu bar, and 
  41.        
  42.        3. values of zero for w and x correspond to the 16th menubar or menu in a menu bar.
  43.        
  44.        For example, the 2nd item from the 3rd menu in the 5th menu bar has resource ID 0x00005302 
  45.        when BaseResID is 0x0, MenuIDShift is 0x100, and MenuBarIDShift is 0x1000. The resource id of 
  46.        the menu containing this item is that of the zeroth item in the 3rd menu of the 5th menu bar, 
  47.        0x00005300. The resource id of the menu bar containing this menu and menu item is that of the 
  48.        zeroth item in the zeroth menu, 0x00005000. 
  49.        
  50.        Further conventions used by the shell program are:
  51.        
  52.        4. control and item IDs and resource IDs for controls and items are the same and resource IDs 
  53.        for their title strings are also the same, and 
  54.           
  55.        5. since the title string resource IDs are the same as the menu resource IDs, resource IDs
  56.        for other resources of type rPString are assumed to be of the form 0x0000wnnn where
  57.        w is any number $0 to $F not assigned to a menu bar; as a suggestion, this value w can be 
  58.        distinct for each kind of window using resources within the program, if the number of 
  59.        menu bars plus the number of distinct kinds of resource-using windows is 16 or less.
  60.  
  61.        Note that structuring the menu resource IDs in this form 0x0000wxyy avoids a bug in the system
  62.        version 5.0 of NewMenuBar2 where it cannot release resources unless the high word of the 
  63.        resource ID is zero. These conventions also allow for easy processing of resource IDs entirely
  64.        represented in the low word of the ID, for easy editing of menus, menu bars, and menu items,
  65.        as shown below, and for a reference when debugging. These conventions are suggested for 
  66.        programming convenience only, programmers may wish to devise other conventions for assigning 
  67.        resource IDs differently. 
  68.        
  69.        For instance:
  70.        
  71.        1. programmers may want to utilize the high word of resource IDs,
  72.        
  73.        2. programmers may want to consolidate the RID, title RID, and ID identifiers in their 
  74.        programs if these will always be defined to be the same. 
  75.        
  76.        3. pop-up menus could be assigned using a form similar to that used above for menus except 
  77.        that w would be any number $0 to $F, not assigned to a menu bar, designating a window in which
  78.        the pop-up was used.
  79.        
  80.        4. resource IDs for the other various resource types, in general, may be assigned so that the 
  81.        low word of the resource ID is of approximate form 0x0000abcc where a is any number $0 to $F, 
  82.        not assigned to a menu bar, designating a window in which the resource is used, b is any nine
  83.        bit wide zero value, and cc is a number $0 to $7F distinguishing the resource from others of 
  84.        the same type used in a particular window. For programs not using suggestion (2) above and 
  85.        having windows using a large number of resources, the value for b could be a nine bit value 
  86.        designating the resource type with the high order bit in the least significant position.
  87.        
  88.        Again, these are only illustrations of how programmers  may adopt  resource ID conventions 
  89.        suitable within a particular program.
  90.        
  91.        CAUTION: Resource IDs must be distinct within each resource type and must not be > 0x07FEFFFF.
  92.        
  93.        */
  94.        
  95. #define AboutAlertStringRID BaseResID + 1
  96.  
  97. #define MenuBarOneRID BaseResID + (1 * MenuBarIDShift)
  98.  
  99. #define AppleMenuRID MenuBarOneRID + (1 * MenuIDShift)
  100. #define FileMenuRID MenuBarOneRID + (2 * MenuIDShift)
  101. #define EditMenuRID MenuBarOneRID + (3 * MenuIDShift)
  102. #define SoundMenuRID MenuBarOneRID + (4 * MenuIDShift)
  103.  
  104. #define AboutRID AppleMenuRID + 1
  105.  
  106. #define QuitRID FileMenuRID + 2
  107.  
  108. #define SoundVersionRID         SoundMenuRID + 4
  109. #define SoundToolStatusRID         SoundMenuRID + 6
  110. #define FFGeneratorStatusRID     SoundMenuRID + 7
  111. #define FFSoundDoneStatusRID     SoundMenuRID + 8
  112. #define FFSoundStatusRID         SoundMenuRID + 9
  113. #define FFStartSoundRID         SoundMenuRID + 10
  114. #define FFStopSoundRID             SoundMenuRID + 11
  115. #define GetSoundVolumeRID         SoundMenuRID + 12
  116. #define GetTableAddressRID         SoundMenuRID + 13
  117. #define ReadRamBlockRID         SoundMenuRID + 14
  118. #define SetSoundMIRQVRID         SoundMenuRID + 15
  119. #define SetSoundVolumeRID         SoundMenuRID + 16
  120. #define SetUserSoundIRQVRID     SoundMenuRID + 17
  121. #define WriteRamBlockRID         SoundMenuRID + 18
  122. #define FFSetUpSoundRID         SoundMenuRID + 19
  123. #define FFStartPlayingRID         SoundMenuRID + 20
  124. #define SetDOCRegRID             SoundMenuRID + 21
  125. #define ReadDOCRegRID             SoundMenuRID + 22
  126.     
  127.     /* The edit menu item IDs are by convention defined with the values below, starting at 250. Since 
  128.    this program uses the same values for the corresponding resource IDs, be careful not to attempt to
  129.    reuse these resource IDs items and title strings in particular */
  130.    
  131. #define UndoRID 250
  132. #define CutRID 251
  133. #define CopyRID 252
  134. #define PasteRID 253
  135. #define ClearRID 254
  136. #define CloseRID 255
  137.  
  138. #define AppleMenuTitleRID MenuBarOneRID + (1 * MenuIDShift)
  139. #define FileMenuTitleRID MenuBarOneRID + (2 * MenuIDShift)
  140. #define EditMenuTitleRID MenuBarOneRID + (3 * MenuIDShift)
  141. #define SoundMenuTitleRID MenuBarOneRID + (4 * MenuIDShift)
  142.  
  143. #define AboutTitleRID AppleMenuRID + 1
  144.  
  145. #define QuitTitleRID FileMenuRID + 2
  146.  
  147.  
  148. #define SoundVersionTitleRID         SoundMenuRID + 4
  149. #define SoundToolStatusTitleRID     SoundMenuRID + 6
  150. #define FFGeneratorStatusTitleRID     SoundMenuRID + 7
  151. #define FFSoundDoneStatusTitleRID     SoundMenuRID + 8
  152. #define FFSoundStatusTitleRID         SoundMenuRID + 9
  153. #define FFStartSoundTitleRID         SoundMenuRID + 10
  154. #define FFStopSoundTitleRID         SoundMenuRID + 11
  155. #define GetSoundVolumeTitleRID         SoundMenuRID + 12
  156. #define GetTableAddressTitleRID     SoundMenuRID + 13
  157. #define ReadRamBlockTitleRID         SoundMenuRID + 14
  158. #define SetSoundMIRQVTitleRID         SoundMenuRID + 15
  159. #define SetSoundVolumeTitleRID         SoundMenuRID + 16
  160. #define SetUserSoundIRQVTitleRID     SoundMenuRID + 17
  161. #define WriteRamBlockTitleRID         SoundMenuRID + 18
  162. #define FFSetUpSoundTitleRID         SoundMenuRID + 19
  163. #define FFStartPlayingTitleRID         SoundMenuRID + 20
  164. #define SetDOCRegTitleRID             SoundMenuRID + 21
  165. #define ReadDOCRegTitleRID             SoundMenuRID + 22
  166.  
  167. #define UndoTitleRID 250
  168. #define CutTitleRID 251
  169. #define CopyTitleRID 252
  170. #define PasteTitleRID 253
  171. #define ClearTitleRID 254
  172. #define CloseTitleRID 255
  173.  
  174. #define MenuBarOneID BaseResID + (1 * MenuBarIDShift)
  175.  
  176. #define AppleMenuID MenuBarOneID + (1 * MenuIDShift)
  177. #define FileMenuID MenuBarOneID + (2 * MenuIDShift)
  178. #define EditMenuID MenuBarOneID + (3 * MenuIDShift)
  179. #define SoundMenuID MenuBarOneID + (4 * MenuIDShift)
  180.  
  181. #define AboutID AppleMenuID + 1
  182.  
  183. #define QuitID FileMenuID + 2
  184.  
  185. #define SoundVersionID             SoundMenuID + 4
  186. #define SoundToolStatusID         SoundMenuID + 6
  187. #define FFGeneratorStatusID     SoundMenuID + 7
  188. #define FFSoundDoneStatusID     SoundMenuID + 8
  189. #define FFSoundStatusID         SoundMenuID + 9
  190. #define FFStartSoundID             SoundMenuID + 10
  191. #define FFStopSoundID             SoundMenuID + 11
  192. #define GetSoundVolumeID         SoundMenuID + 12
  193. #define GetTableAddressID         SoundMenuID + 13
  194. #define ReadRamBlockID             SoundMenuID + 14
  195. #define SetSoundMIRQVID         SoundMenuID + 15
  196. #define SetSoundVolumeID         SoundMenuID + 16
  197. #define SetUserSoundIRQVID         SoundMenuID + 17
  198. #define WriteRamBlockID         SoundMenuID + 18
  199. #define FFSetUpSoundID             SoundMenuID + 19
  200. #define FFStartPlayingID         SoundMenuID + 20
  201. #define SetDOCRegID             SoundMenuID + 21
  202. #define ReadDOCRegID             SoundMenuID + 22
  203.  
  204. #define UndoID 250
  205. #define CutID 251
  206. #define CopyID 252
  207. #define PasteID 253
  208. #define ClearID 254
  209. #define CloseID 255
  210.  
  211. #define MainToolStartupRID BaseResID+1
  212.  
  213. resource rAlertString (AboutAlertStringRID)    {
  214.     "7"
  215.     "3/"
  216.     TBCenterJust
  217.     "Apple IIGS Sound Tools Exerciser, Version 3.0"
  218.     TBEndOfLine
  219.     "By Apple II Developer Technical Support"
  220.     TBEndOfLine
  221.     "© 1988, 1989 Apple Computer, Inc."
  222.     TBEndOfLine
  223.     "/^#0\000"
  224. };
  225.  
  226. resource rMenuBar (MenuBarOneRID)    {
  227.     
  228. /*    Note:  The form of this resource ID $0000wxyy where w is the menu bar number avoids a bug in 
  229.            NewMenuBar2 - it can't release resources unless the high word of the ID is zero.
  230.            --MD    */
  231.               
  232. /*       1.1B1 - Changed the Apple Menu to properly use Color Replace highlighting, to
  233.        avoid the "Green Apple" when the menu is pulled down.  --MD    */
  234.     
  235.     {
  236.     AppleMenuRID,                                        /* Apple menu */
  237.     FileMenuRID,                                        /* File menu */
  238.     EditMenuRID                                            /* Edit menu */
  239.     }
  240. };
  241.  
  242. resource rMenu (AppleMenuRID)    {
  243.     AppleMenuID,                                        /* Menu ID */
  244.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache,
  245.                                                         /* flags */
  246.     AppleMenuTitleRID,                                    /* Title reference */
  247.     {AboutID}                                            /* Menu item reference */
  248. };
  249.  
  250. resource rMenu (FileMenuRID)    {
  251.     FileMenuID,                                            /* Menu ID */
  252.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache,
  253.                                                         /* flags */
  254.     FileMenuTitleRID,                                    /* Title reference */
  255.     {CloseID,
  256.     QuitID}                                                /* Menu item references */
  257. };
  258.  
  259. resource rMenu (EditMenuRID)    {
  260.     EditMenuID,                                            /* Menu ID */
  261.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache+rmDisabled,
  262.                                                         /* flags */
  263.     EditMenuTitleRID,                                    /* Title reference */
  264.     {UndoID,
  265.     CutID,
  266.     CopyID,
  267.     PasteID,
  268.     ClearID}                                             /* Menu item references */
  269. };
  270.  
  271. resource rMenu (SoundMenuRID)    {
  272.     SoundMenuID,                                        /* Menu ID */
  273.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache,
  274.                                                         /* flags */
  275.     SoundMenuTitleRID,                                    /* Title reference */
  276.     {SoundVersionID,
  277.     SoundToolStatusID,
  278.     FFGeneratorStatusID,
  279.     FFSoundDoneStatusID,
  280.     FFSoundStatusID,
  281.     FFStartSoundID,
  282.     FFStopSoundID,
  283.     GetSoundVolumeID,
  284.     GetTableAddressID,
  285.     ReadRamBlockID,
  286.     SetSoundMIRQVID,
  287.     SetSoundVolumeID,
  288.     SetUserSoundIRQVID,
  289.     WriteRamBlockID,
  290.     FFSetUpSoundID,
  291.     FFStartPlayingID,
  292.     SetDOCRegID,
  293.     ReadDOCRegID
  294.     }                                             /* Menu item references */
  295. };
  296.  
  297. resource rMenuItem (AboutRID,nocrossbank)    {
  298.     AboutID,                                            /* Item ID */
  299.     "","",                                                /* Item characters */
  300.     NIL,                                                /* Item check */
  301.     RefIsResource*ItemTitleRefShift+rMIDivider,            /* Item flags */
  302.     AboutTitleRID                                        /* Title reference */
  303. };
  304.  
  305. resource rMenuItem (CloseRID,nocrossbank)    {
  306.     CloseID,                                            /* Item ID */
  307.     "","",                                                /* Item characters */
  308.     NIL,                                                /* Item check */
  309.     RefIsResource*ItemTitleRefShift+rMIDivider+rMIDisabled,
  310.                                                         /* Item flags */
  311.     CloseTitleRID                                        /* Title reference */
  312. };
  313.  
  314. resource rMenuItem (QuitRID,nocrossbank)    {
  315.     QuitID,                                                /* Item ID */
  316.     "Q","q",                                            /* Item characters */
  317.     NIL,                                                /* Item check */
  318.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  319.     QuitTitleRID                                        /* Title reference */
  320. };
  321.  
  322. resource rMenuItem (UndoRID,nocrossbank)    {
  323.     UndoID,                                                /* Item ID */
  324.     "Z","z",                                            /* Item characters */
  325.     NIL,                                                /* Item check */
  326.     RefIsResource*ItemTitleRefShift+rMIDivider+rMIDisabled,
  327.                                                         /* Item flags */
  328.     UndoTitleRID                                        /* Title reference */
  329. };
  330.  
  331. resource rMenuItem (CutRID,nocrossbank)    {
  332.     CutID,                                                /* Item ID */
  333.     "X","x",                                            /* Item characters */
  334.     NIL,                                                /* Item check */
  335.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  336.     CutTitleRID                                            /* Title reference */
  337. };
  338.  
  339. resource rMenuItem (CopyRID,nocrossbank)    {
  340.     CopyID,                                                /* Item ID */
  341.     "C","c",                                            /* Item characters */
  342.     NIL,                                                /* Item check */
  343.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  344.     CopyTitleRID                                        /* Title reference */
  345. };
  346.  
  347. resource rMenuItem (PasteRID,nocrossbank)    {
  348.     PasteID,                                            /* Item ID */
  349.     "V","v",                                            /* Item characters */
  350.     NIL,                                                /* Item check */
  351.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  352.     PasteTitleRID                                        /* Title reference */
  353. };
  354.  
  355. resource rMenuItem (ClearRID,nocrossbank)    {
  356.     ClearID,                                            /* Item ID */
  357.     "","",                                                /* Item characters */
  358.     NIL,                                                /* Item check */
  359.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  360.     ClearTitleRID                                        /* Title reference */
  361. };
  362.  
  363. resource rMenuItem (SoundVersionRID,nocrossbank)    {
  364.     SoundVersionID,                                        /* Item ID */
  365.     "","",                                                /* Item characters */
  366.     NIL,                                                /* Item check */
  367.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  368.     SoundVersionTitleRID                                    /* Title reference */
  369. };
  370.  
  371. resource rMenuItem (SoundToolStatusRID,nocrossbank)    {
  372.     SoundToolStatusID,                                    /* Item ID */
  373.     "","",                                                /* Item characters */
  374.     NIL,                                                /* Item check */
  375.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  376.     SoundToolStatusTitleRID                                /* Title reference */
  377. };
  378.  
  379. resource rMenuItem (FFGeneratorStatusRID,nocrossbank)    {
  380.     FFGeneratorStatusID,                                /* Item ID */
  381.     "","",                                                /* Item characters */
  382.     NIL,                                                /* Item check */
  383.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  384.     FFGeneratorStatusTitleRID                            /* Title reference */
  385. };
  386.  
  387. resource rMenuItem (FFSoundDoneStatusRID,nocrossbank)    {
  388.     FFSoundDoneStatusID,                                /* Item ID */
  389.     "","",                                                /* Item characters */
  390.     NIL,                                                /* Item check */
  391.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  392.     FFSoundDoneStatusTitleRID                            /* Title reference */
  393. };
  394.  
  395. resource rMenuItem (FFSoundStatusRID,nocrossbank)    {
  396.     FFSoundStatusID,                                    /* Item ID */
  397.     "","",                                                /* Item characters */
  398.     NIL,                                                /* Item check */
  399.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  400.     FFSoundStatusTitleRID                                /* Title reference */
  401. };
  402.  
  403. resource rMenuItem (FFStartSoundRID,nocrossbank)    {
  404.     FFStartSoundID,                                        /* Item ID */
  405.     "","",                                                /* Item characters */
  406.     NIL,                                                /* Item check */
  407.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  408.     FFStartSoundTitleRID                                /* Title reference */
  409. };
  410.  
  411. resource rMenuItem (FFStopSoundRID,nocrossbank)    {
  412.     FFStopSoundID,                                        /* Item ID */
  413.     "","",                                                /* Item characters */
  414.     NIL,                                                /* Item check */
  415.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  416.     FFStopSoundTitleRID                                    /* Title reference */
  417. };
  418.  
  419. resource rMenuItem (GetSoundVolumeRID,nocrossbank)    {
  420.     GetSoundVolumeID,                                    /* Item ID */
  421.     "","",                                                /* Item characters */
  422.     NIL,                                                /* Item check */
  423.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  424.     GetSoundVolumeTitleRID                                /* Title reference */
  425. };
  426.  
  427. resource rMenuItem (GetTableAddressRID,nocrossbank)    {
  428.     GetTableAddressID,                                    /* Item ID */
  429.     "","",                                                /* Item characters */
  430.     NIL,                                                /* Item check */
  431.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  432.     GetTableAddressTitleRID                                /* Title reference */
  433. };
  434.  
  435. resource rMenuItem (ReadRamBlockRID,nocrossbank)    {
  436.     ReadRamBlockID,                                        /* Item ID */
  437.     "","",                                                /* Item characters */
  438.     NIL,                                                /* Item check */
  439.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  440.     ReadRamBlockTitleRID                                /* Title reference */
  441. };
  442.  
  443. resource rMenuItem (SetSoundMIRQVRID,nocrossbank)    {
  444.     SetSoundMIRQVID,                                    /* Item ID */
  445.     "","",                                                /* Item characters */
  446.     NIL,                                                /* Item check */
  447.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  448.     SetSoundMIRQVTitleRID                                /* Title reference */
  449. };
  450.  
  451. resource rMenuItem (SetSoundVolumeRID,nocrossbank)    {
  452.     SetSoundVolumeID,                                    /* Item ID */
  453.     "","",                                                /* Item characters */
  454.     NIL,                                                /* Item check */
  455.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  456.     SetSoundVolumeTitleRID                                /* Title reference */
  457. };
  458.  
  459. resource rMenuItem (SetUserSoundIRQVRID,nocrossbank)    {
  460.     SetUserSoundIRQVID,                                    /* Item ID */
  461.     "","",                                                /* Item characters */
  462.     NIL,                                                /* Item check */
  463.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  464.     SetUserSoundIRQVTitleRID                            /* Title reference */
  465. };
  466.  
  467. resource rMenuItem (WriteRamBlockRID,nocrossbank)    {
  468.     WriteRamBlockID,                                    /* Item ID */
  469.     "","",                                                /* Item characters */
  470.     NIL,                                                /* Item check */
  471.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  472.     WriteRamBlockTitleRID                                /* Title reference */
  473. };
  474.  
  475. resource rMenuItem (FFSetUpSoundRID,nocrossbank)    {
  476.     FFSetUpSoundID,                                        /* Item ID */
  477.     "","",                                                /* Item characters */
  478.     NIL,                                                /* Item check */
  479.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  480.     FFSetUpSoundTitleRID                                /* Title reference */
  481. };
  482.  
  483. resource rMenuItem (FFStartPlayingRID,nocrossbank)    {
  484.     FFStartPlayingID,                                    /* Item ID */
  485.     "","",                                                /* Item characters */
  486.     NIL,                                                /* Item check */
  487.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  488.     FFStartPlayingTitleRID                                /* Title reference */
  489. };
  490.  
  491. resource rMenuItem (SetDOCRegRID,nocrossbank)    {
  492.     SetDOCRegID,                                        /* Item ID */
  493.     "","",                                                /* Item characters */
  494.     NIL,                                                /* Item check */
  495.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  496.     SetDOCRegTitleRID                                    /* Title reference */
  497. };
  498.  
  499. resource rMenuItem (ReadDOCRegRID,nocrossbank)    {
  500.     ReadDOCRegID,                                        /* Item ID */
  501.     "","",                                                /* Item characters */
  502.     NIL,                                                /* Item check */
  503.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  504.     ReadDOCRegTitleRID                                    /* Title reference */
  505. };
  506.  
  507.     
  508.     /* The following PStrings are our menu titles and IDs.  1.1B1 changes the menu titles
  509.    to use two spaces on either side, as recommended for 640 mode in IIgs TN #5.  --MD   */
  510.    
  511. resource rPString (AppleMenuTitleRID,nocrossbank)    {
  512.     "@"
  513. };
  514.  
  515. resource rPString (AboutTitleRID,nocrossbank)    {
  516.     "About the Sound Tools Exerciser…"
  517. };
  518.  
  519. resource rPString (FileMenuTitleRID,nocrossbank)    {
  520.     "  File  "
  521. };
  522.  
  523. resource rPString (CloseTitleRID,nocrossbank)    {
  524.     "Close"
  525. };
  526.  
  527. resource rPString (QuitTitleRID,nocrossbank)    {
  528.     "Quit"
  529. };
  530.  
  531. resource rPString (EditMenuTitleRID,nocrossbank)    {
  532.     "  Edit  "
  533. };
  534.  
  535. resource rPString (UndoTitleRID,nocrossbank)    {
  536.     "Undo"
  537. };
  538.  
  539. resource rPString (CutTitleRID,nocrossbank)    {
  540.     "Cut"
  541. };
  542.  
  543. resource rPString (CopyTitleRID,nocrossbank)    {
  544.     "Copy"
  545. };
  546.  
  547. resource rPString (PasteTitleRID,nocrossbank)    {
  548.     "Paste"
  549. };
  550.  
  551. resource rPString (ClearTitleRID,nocrossbank)    {
  552.     "Clear"
  553. };
  554.  
  555. resource rPString (SoundMenuTitleRID,nocrossbank)    {
  556.     "Sound Command:  "
  557. };
  558.  
  559. resource rPString (SoundVersionTitleRID,nocrossbank)    {
  560.     "SoundVersion"
  561. };
  562.  
  563. resource rPString (SoundToolStatusTitleRID,nocrossbank)    {
  564.     "SoundToolStatus"
  565. };
  566.  
  567. resource rPString (FFGeneratorStatusTitleRID,nocrossbank)    {
  568.     "FFGeneratorStatus"
  569. };
  570.  
  571. resource rPString (FFSoundDoneStatusTitleRID,nocrossbank)    {
  572.     "FFSoundDoneStatus"
  573. };
  574.  
  575. resource rPString (FFSoundStatusTitleRID,nocrossbank)    {
  576.     "FFSoundStatus"
  577. };
  578.  
  579. resource rPString (FFStartSoundTitleRID,nocrossbank)    {
  580.     "FFStartSound"
  581. };
  582.  
  583. resource rPString (FFStopSoundTitleRID,nocrossbank)    {
  584.     "FFStopSound"
  585. };
  586.  
  587. resource rPString (GetSoundVolumeTitleRID,nocrossbank)    {
  588.     "GetSoundVolume"
  589. };
  590.  
  591. resource rPString (GetTableAddressTitleRID,nocrossbank)    {
  592.     "GetTableAddress"
  593. };
  594.  
  595. resource rPString (ReadRamBlockTitleRID,nocrossbank)    {
  596.     "ReadRamBlock"
  597. };
  598.     
  599. resource rPString (SetSoundMIRQVTitleRID,nocrossbank)    {
  600.     "SetSoundMIRQV"
  601. };
  602.     
  603. resource rPString (SetSoundVolumeTitleRID,nocrossbank)    {
  604.     "SetSoundVolume"
  605. };
  606.     
  607. resource rPString (SetUserSoundIRQVTitleRID,nocrossbank)    {
  608.     "SetUserSoundIRQV"
  609. };
  610.  
  611. resource rPString (WriteRamBlockTitleRID,nocrossbank)    {
  612.     "WriteRamBlock"
  613. };
  614.  
  615. resource rPString (FFSetUpSoundTitleRID,nocrossbank)    {
  616.     "FFSetUpSound"
  617. };
  618.  
  619. resource rPString (FFStartPlayingTitleRID,nocrossbank)    {
  620.     "FFStartPlaying"
  621. };
  622.  
  623. resource rPString (SetDOCRegTitleRID,nocrossbank)    {
  624.     "SetDOCReg"
  625. };
  626.  
  627. resource rPString (ReadDOCRegTitleRID,nocrossbank)    {
  628.     "ReadDOCReg"
  629. };
  630.  
  631.  
  632. resource rToolStartup (MainToolStartupRID,nocrossbank)    {
  633.     
  634.     /* We've expanded this list over the original 1.0 Shell list to include more tools
  635.        for desk accessories to use, as described in Apple IIgs Technical Note #53,
  636.        "Desk Accessories and Tools."  The table is also longer because the previous
  637.        version of the shell didn't load ROM-based tools it started (like QuickDraw).
  638.        
  639.        As a suggestion, maintain a complete list of the tools as shown below. This way it is easy to
  640.        edit tools in and out of the list by inserting or deleting the comment symbols, and it is
  641.        clear which tools are loaded and which tools are not loaded.
  642.        
  643.        The Resource Manager (#30) is automatically taken care of by StartUpTools (or else it couldn't
  644.        read this resource!) The Tool Locator and Memory Manager are started up seperately, prior to
  645.        StartUpTools and shut down after ShutDownTools. */
  646.    
  647.     $C080,                                        /* 640 mode + fastport aware + shadowing */
  648.     {
  649.         3,$0300,    /* misc tools */
  650.         4,$0301,    /* quickdraw */
  651.         5,$0302,    /* desk manager */
  652.         6,$0300,    /* eventMgr */
  653.         7,$0200,    /* scheduler */
  654.         8,$0301,    /* sound tools */
  655. /*        9,$0201,    /* ADB tools */
  656. /*        10,$0202,    /* SANE */
  657.         11,$0200,    /* int math */
  658. /*        12,$0201,    /* Text Tool Set */
  659.         14,$0301,    /* Window Manager */
  660.         15,$0301,    /* Menu Manager */
  661.         16,$0301,    /* Control Manager */
  662. /*        17,$0300,    /* System Loader */
  663.         18,$0301,    /* QD Aux */
  664.         19,$0300,    /* print manager */
  665.         20,$0301,    /* LineEdit tool set */
  666.         21,$0302,    /* Dialog Manager */
  667.         22,$0300,    /* Scrap manager */
  668.         23,$0301,    /* standard file */
  669. /*        25,$0104,    /* NoteSynth */
  670. /*        26,$0104,    /* Note Seq */
  671.         27,$0301,    /* Font manager */
  672.         28,$0301,    /* list manager */
  673. /*        29,$0101,    /* ACE */
  674. /*        32,$0103,    /* Midi Tools */
  675.         34,$0101    /* text edit */
  676.     }
  677. };
  678.  
  679. /*  Application-specific resources  */
  680.  
  681.  
  682. /*------------------- Values used through out -------------------*/
  683.  
  684. #define MainWindowID        $1000
  685. #define DocRegParamBlkID      202
  686. #define oscGenTypeID          203
  687. #define freqLow1ID              204
  688. #define freqHigh1ID          205
  689. #define vol1ID                  206
  690. #define tablePtr1ID          207
  691. #define control1ID              208
  692. #define tableSize1ID         209
  693. #define freqLow2ID              210
  694. #define freqHigh2ID          211
  695. #define vol2ID                  212
  696. #define tablePtr2ID          213
  697. #define control2ID              214
  698. #define tableSize2ID          215
  699. #define SoundParamBlockID      216
  700. #define waveStartID          217
  701. #define waveSizeID              218
  702. #define freqOffsetID          219
  703. #define docBufferID          220
  704. #define bufferSizeID          221
  705. #define nextWavePtrID          222
  706. #define volSettingID          223
  707. #define Parm1ID                 224
  708. #define Parm2ID                 225
  709. #define Parm3ID                 226
  710.  
  711. #define curfileID             228
  712. #define loadedAtID             229
  713. #define buffSizeID              230
  714. #define resultID             231
  715. #define toolerrID             232
  716.  
  717. #define oscGenType              301
  718. #define freqLow1                302
  719. #define freqHigh1            303
  720. #define vol1                    304
  721. #define tablePtr1            305
  722. #define control1                306
  723. #define tableSize1           307
  724. #define freqLow2                308
  725. #define freqHigh2            309
  726. #define vol2                    310
  727. #define tablePtr2            311
  728. #define control2                312
  729. #define tableSize2            313
  730. #define waveStart            314
  731. #define waveSize                315
  732. #define freqOffset            316
  733. #define docBuffer            317
  734. #define bufferSize            318
  735. #define nextWavePtr            319
  736. #define volSetting            320
  737. #define Parm1                   321
  738. #define Parm2                  322
  739. #define Parm3                  323
  740.  
  741. #define execbut                 350
  742. #define loadbut                 351
  743. #define    sndCmdPopUp             352
  744.  
  745. /*---------------------------------------------------------------------------*/
  746. /*
  747. /* Main Window
  748. /*
  749. /* This is the template for the main window with all the buttons that lead
  750. /* to other buttons.
  751. /*
  752. /*---------------------------------------------------------------------------*/
  753. resource rWindParam1 (MainWindowID) {
  754.     fTitle+fVis,                                            /* Frame Bits             */
  755.     0x201,                                                    /* title ID               */
  756.     0,                                                        /* ref Con                */
  757.     {0,0,0,0},                                                /* Zoom Rect              */
  758.     0,                                                        /* color table id         */
  759.     {0,0},                                                    /* origin                 */
  760.     {0,0},                                                    /* data size             */
  761.     {0,0},                                                    /* max height-width        */
  762.     {0,0},                                                    /* scroll amount, hor,ver */
  763.     {0,0},                                                    /* page amount */
  764.     0,                                                        /* wInfo Ref Con */
  765.     0,                                                        /* wInfo height */
  766.     {30,10,195,630},                                        /* window Position */
  767.     infront,                                                /* wPlane */
  768.     MainWindowID,                                            /* Control Ref */
  769.     refIsResource*0x0100+resourceToResource                  /* descriptor */
  770. };
  771.  
  772. /*---------------------------------------------------------------------------*/
  773. /* This is the title of the main window
  774. /*---------------------------------------------------------------------------*/
  775. resource rPString (0x201) {
  776.     "Sound Tools Exerciser"
  777.     };
  778.  
  779.  
  780.  
  781. /* List of all controls in Main Window */
  782.  
  783. resource rControlList (MainWindowID) {
  784.     {    DocRegParamBlkID,
  785.         oscGenTypeID,
  786.         freqLow1ID,
  787.         freqHigh1ID,
  788.         vol1ID,
  789.         tablePtr1ID,
  790.         control1ID,
  791.         tableSize1ID,
  792.         freqLow2ID,
  793.         freqHigh2ID,
  794.         vol2ID,
  795.         tablePtr2ID,
  796.         control2ID,
  797.         tableSize2ID,
  798.         SoundParamBlockID,
  799.         waveStartID,
  800.         waveSizeID,
  801.         freqOffsetID,
  802.         docBufferID,
  803.         bufferSizeID,
  804.         nextWavePtrID,   
  805.         volSettingID,
  806.         curfileID,
  807.         Parm1ID,
  808.         Parm2ID,
  809.         Parm3ID,
  810.         Parm3,
  811.         Parm2,
  812.         Parm1,
  813.         volSetting,
  814.         nextWavePtr,   
  815.         bufferSize,
  816.         docBuffer,
  817.         freqOffset,
  818.         waveSize,
  819.         waveStart,
  820.         tableSize2,
  821.         control2,
  822.         tablePtr2,
  823.         vol2,
  824.         freqHigh2,
  825.         freqLow2,
  826.         tableSize1,
  827.         control1,
  828.         tablePtr1,
  829.         vol1,
  830.         freqHigh1,
  831.         freqLow1,
  832.          oscGenType,
  833.         loadedAtID,
  834.         buffSizeID,
  835.         resultID,
  836.         toolerrID,
  837.         loadbut,
  838.         execbut,
  839.         sndCmdPopUp
  840.     };
  841. };
  842.  
  843. #define butwidth    100
  844. #define butheight    12
  845. #define curfieldwidth 145
  846.  
  847. #define statwidth    93
  848. #define editwidth    93
  849. #define gap1        3
  850. #define gap2        9
  851.  
  852. #define stattop     15
  853. #define statbot        27
  854. #define statdisp    11
  855.  
  856. #define statleft    2
  857. #define statright    statleft+statwidth
  858.  
  859. #define editleft    statright+gap1
  860. #define editright    editleft+editwidth
  861.  
  862. #define statleft2    editright+gap2
  863. #define statright2    statleft2+statwidth
  864.  
  865. #define editleft2    statright2+gap1
  866. #define editright2    editleft2+editwidth
  867.  
  868. #define statleft3    editright2+gap2
  869. #define statright3    statleft3+statwidth+10
  870.  
  871. #define editleft3    statright3+gap1+10
  872. #define editright3    editleft3+editwidth+10
  873.  
  874.  
  875.  
  876. resource rControlTemplate (DocRegParamBlkID)  {
  877.     DocRegParamBlkID,                                    /* control ID */
  878.     {1,statleft,13,statright+50},                            /* control rectangle */
  879.     StatTextControl{{                                    /* control type */
  880.         0x0001,                                            /* flag */
  881.         0x1002,                                            /* more flags */
  882.         0,                                                /* ref con */
  883.         DocRegParamBlkID                                /* title ref */
  884.     }};
  885. }; 
  886.  
  887. resource rControlTemplate (oscGenTypeID)  {
  888.     oscGenTypeID,                                        /* control ID */
  889.     {stattop,statleft,statbot,statright},                /* control rectangle */
  890.     StatTextControl{{                                    /* control type */
  891.         0xFF00,                                            /* flag */
  892.         0x1002,                                            /* more flags */
  893.         0,                                                /* ref con */
  894.         oscGenTypeID                                    /* title ref */
  895.     }};
  896. }; 
  897.  
  898. resource rControlTemplate (freqLow1ID)  {
  899.     freqLow1ID,                                            /* control ID */
  900.     {stattop+(1*statdisp),statleft,
  901.      statbot+(1*statdisp),statright},                    /* control rectangle */
  902.     StatTextControl{{                                    /* control type */
  903.         0xFF00,                                            /* flag */
  904.         0x1002,                                            /* more flags */
  905.         0,                                                /* ref con */
  906.         freqLow1ID                                        /* title ref */
  907.     }};
  908. }; 
  909.  
  910. resource rControlTemplate (freqHigh1ID)  {
  911.     freqHigh1ID,                                        /* control ID */
  912.     {stattop+(2*statdisp),statleft,
  913.      statbot+(2*statdisp),statright},                    /* control rectangle */
  914.     StatTextControl{{                                    /* control type */
  915.         0xFF00,                                            /* flag */
  916.         0x1002,                                            /* more flags */
  917.         0,                                                /* ref con */
  918.         freqHigh1ID                                        /* title ref */
  919.     }};
  920. }; 
  921.  
  922. resource rControlTemplate (vol1ID)  {
  923.     vol1ID,                                                /* control ID */
  924.     {stattop+(3*statdisp),statleft,
  925.      statbot+(3*statdisp),statright},                    /* control rectangle */
  926.     StatTextControl{{                                    /* control type */
  927.         0xFF00,                                            /* flag */
  928.         0x1002,                                            /* more flags */
  929.         0,                                                /* ref con */
  930.         vol1ID                                            /* title ref */
  931.     }};
  932. }; 
  933.  
  934. resource rControlTemplate (tablePtr1ID)  {
  935.     tablePtr1ID,                                        /* control ID */
  936.     {stattop+(4*statdisp),statleft,
  937.      statbot+(4*statdisp),statright},                    /* control rectangle */
  938.     StatTextControl{{                                    /* control type */
  939.         0xFF00,                                            /* flag */
  940.         0x1002,                                            /* more flags */
  941.         0,                                                /* ref con */
  942.         tablePtr1ID                                        /* title ref */
  943.     }};
  944. }; 
  945.  
  946. resource rControlTemplate (control1ID)  {
  947.     control1ID,                                            /* control ID */
  948.     {stattop+(5*statdisp),statleft,
  949.      statbot+(5*statdisp),statright},                    /* control rectangle */
  950.     StatTextControl{{                                    /* control type */
  951.         0xFF00,                                            /* flag */
  952.         0x1002,                                            /* more flags */
  953.         0,                                                /* ref con */
  954.         control1ID                                        /* title ref */
  955.     }};
  956. }; 
  957.  
  958. resource rControlTemplate (tableSize1ID)  {
  959.     tableSize1ID,                                        /* control ID */
  960.     {stattop+(6*statdisp),statleft,
  961.      statbot+(6*statdisp),statright},                    /* control rectangle */
  962.     StatTextControl{{                                    /* control type */
  963.         0xFF00,                                            /* flag */
  964.         0x1002,                                            /* more flags */
  965.         0,                                                /* ref con */
  966.         tableSize1ID                                        /* title ref */
  967.     }};
  968. }; 
  969.  
  970. resource rControlTemplate (freqLow2ID)  {
  971.     freqLow2ID,                                            /* control ID */
  972.     {stattop+(7*statdisp),statleft,
  973.      statbot+(7*statdisp),statright},                    /* control rectangle */
  974.     StatTextControl{{                                    /* control type */
  975.         0xFF00,                                            /* flag */
  976.         0x1002,                                            /* more flags */
  977.         0,                                                /* ref con */
  978.         freqLow2ID                                        /* title ref */
  979.     }};
  980. }; 
  981.  
  982. resource rControlTemplate (freqHigh2ID)  {
  983.     freqHigh2ID,                                        /* control ID */
  984.     {stattop+(8*statdisp),statleft,
  985.      statbot+(8*statdisp),statright},                    /* control rectangle */
  986.     StatTextControl{{                                    /* control type */
  987.         0xFF00,                                            /* flag */
  988.         0x1002,                                            /* more flags */
  989.         0,                                                /* ref con */
  990.         freqHigh2ID                                        /* title ref */
  991.     }};
  992. }; 
  993.  
  994. resource rControlTemplate (vol2ID)  {
  995.     vol2ID,                                                /* control ID */
  996.     {stattop+(9*statdisp),statleft,
  997.      statbot+(9*statdisp),statright},                    /* control rectangle */
  998.     StatTextControl{{                                    /* control type */
  999.         0xFF00,                                            /* flag */
  1000.         0x1002,                                            /* more flags */
  1001.         0,                                                /* ref con */
  1002.         vol2ID                                            /* title ref */
  1003.     }};
  1004. }; 
  1005.  
  1006. resource rControlTemplate (tablePtr2ID)  {
  1007.     tablePtr2ID,                                        /* control ID */
  1008.     {stattop+(10*statdisp),statleft,
  1009.      statbot+(10*statdisp),statright},                    /* control rectangle */
  1010.     StatTextControl{{                                    /* control type */
  1011.         0xFF00,                                            /* flag */
  1012.         0x1002,                                            /* more flags */
  1013.         0,                                                /* ref con */
  1014.         tablePtr2ID                                        /* title ref */
  1015.     }};
  1016. }; 
  1017.  
  1018. resource rControlTemplate (control2ID)  {
  1019.     control2ID,                                            /* control ID */
  1020.     {stattop+(11*statdisp),statleft,
  1021.      statbot+(11*statdisp),statright},                    /* control rectangle */
  1022.     StatTextControl{{                                    /* control type */
  1023.         0xFF00,                                            /* flag */
  1024.         0x1002,                                            /* more flags */
  1025.         0,                                                /* ref con */
  1026.         control2ID                                        /* title ref */
  1027.     }};
  1028. }; 
  1029.  
  1030. resource rControlTemplate (tableSize2ID)  {
  1031.     tableSize2ID,                                        /* control ID */
  1032.     {stattop+(12*statdisp),statleft,
  1033.      statbot+(12*statdisp),statright},                    /* control rectangle */
  1034.     StatTextControl{{                                    /* control type */
  1035.         0xFF00,                                            /* flag */
  1036.         0x1002,                                            /* more flags */
  1037.         0,                                                /* ref con */
  1038.         tableSize2ID                                    /* title ref */
  1039.     }};
  1040. }; 
  1041.  
  1042. resource rControlTemplate (SoundParamBlockID)  {
  1043.     SoundParamBlockID,                                    /* control ID */
  1044.     {1,statleft2,13,statright2+50},                            /* control rectangle */
  1045.     StatTextControl{{                                    /* control type */
  1046.         0xFF00,                                            /* flag */
  1047.         0x1002,                                            /* more flags */
  1048.         0,                                                /* ref con */
  1049.         SoundParamBlockID                                /* title ref */
  1050.     }};
  1051. }; 
  1052.  
  1053. resource rControlTemplate (waveStartID)  {
  1054.     waveStartID,                                        /* control ID */
  1055.     {stattop+(0*statdisp),statleft2,
  1056.      statbot+(0*statdisp),statright2},                    /* control rectangle */
  1057.     StatTextControl{{                                    /* control type */
  1058.         0xFF00,                                            /* flag */
  1059.         0x1002,                                            /* more flags */
  1060.         0,                                                /* ref con */
  1061.         waveStartID                                        /* title ref */
  1062.     }};
  1063. }; 
  1064.  
  1065. resource rControlTemplate (waveSizeID)  {
  1066.     waveSizeID,                                        /* control ID */
  1067.     {stattop+(1*statdisp),statleft2,
  1068.      statbot+(1*statdisp),statright2},                    /* control rectangle */
  1069.     StatTextControl{{                                    /* control type */
  1070.         0xFF00,                                            /* flag */
  1071.         0x1002,                                            /* more flags */
  1072.         0,                                                /* ref con */
  1073.         waveSizeID                                        /* title ref */
  1074.     }};
  1075. }; 
  1076.  
  1077. resource rControlTemplate (freqOffsetID)  {
  1078.     freqOffsetID,                                        /* control ID */
  1079.     {stattop+(2*statdisp),statleft2,
  1080.      statbot+(2*statdisp),statright2},                    /* control rectangle */
  1081.     StatTextControl{{                                    /* control type */
  1082.         0xFF00,                                            /* flag */
  1083.         0x1002,                                            /* more flags */
  1084.         0,                                                /* ref con */
  1085.         freqOffsetID                                        /* title ref */
  1086.     }};
  1087. }; 
  1088.  
  1089. resource rControlTemplate (docBufferID)  {
  1090.     docBufferID,                                        /* control ID */
  1091.     {stattop+(3*statdisp),statleft2,
  1092.      statbot+(3*statdisp),statright2},                    /* control rectangle */
  1093.     StatTextControl{{                                    /* control type */
  1094.         0xFF00,                                            /* flag */
  1095.         0x1002,                                            /* more flags */
  1096.         0,                                                /* ref con */
  1097.         docBufferID                                        /* title ref */
  1098.     }};
  1099. }; 
  1100.  
  1101. resource rControlTemplate (bufferSizeID)  {
  1102.     bufferSizeID,                                        /* control ID */
  1103.     {stattop+(4*statdisp),statleft2,
  1104.      statbot+(4*statdisp),statright2},                    /* control rectangle */
  1105.     StatTextControl{{                                    /* control type */
  1106.         0xFF00,                                            /* flag */
  1107.         0x1002,                                            /* more flags */
  1108.         0,                                                /* ref con */
  1109.         bufferSizeID                                        /* title ref */
  1110.     }};
  1111. }; 
  1112.  
  1113. resource rControlTemplate (nextWavePtrID)  {
  1114.     nextWavePtrID,                                        /* control ID */
  1115.     {stattop+(5*statdisp),statleft2,
  1116.      statbot+(5*statdisp),statright2},                    /* control rectangle */
  1117.     StatTextControl{{                                    /* control type */
  1118.         0xFF00,                                            /* flag */
  1119.         0x1002,                                            /* more flags */
  1120.         0,                                                /* ref con */
  1121.         nextWavePtrID                                        /* title ref */
  1122.     }};
  1123. }; 
  1124.  
  1125. resource rControlTemplate (volSettingID)  {
  1126.     volSettingID,                                        /* control ID */
  1127.     {stattop+(6*statdisp),statleft2,
  1128.      statbot+(6*statdisp),statright2},                    /* control rectangle */
  1129.     StatTextControl{{                                    /* control type */
  1130.         0xFF00,                                            /* flag */
  1131.         0x1002,                                            /* more flags */
  1132.         0,                                                /* ref con */
  1133.         volSettingID                                        /* title ref */
  1134.     }};
  1135. }; 
  1136.  
  1137. resource rControlTemplate (Parm1ID)  {
  1138.     Parm1ID,                                        /* control ID */
  1139.     {stattop+(0*statdisp),statleft3,
  1140.      statbot+(0*statdisp),statright3},                    /* control rectangle */
  1141.     StatTextControl{{                                    /* control type */
  1142.         0xFF03,                                            /* flag */
  1143.         0x1002,                                            /* more flags */
  1144.         0,                                                /* ref con */
  1145.         Parm1ID                                        /* title ref */
  1146.     }};
  1147. }; 
  1148.  
  1149. resource rControlTemplate (Parm2ID)  {
  1150.     Parm2ID,                                        /* control ID */
  1151.     {stattop+((1*statdisp)+2),statleft3,
  1152.      statbot+((1*statdisp)+2),statright3},                    /* control rectangle */
  1153.     StatTextControl{{                                    /* control type */
  1154.         0xFF03,                                            /* flag */
  1155.         0x1002,                                            /* more flags */
  1156.         0,                                                /* ref con */
  1157.         Parm2ID                                        /* title ref */
  1158.     }};
  1159. }; 
  1160.  
  1161. resource rControlTemplate (Parm3ID)  {
  1162.     Parm3ID,                                        /* control ID */
  1163.     {stattop+((2*statdisp)+4),statleft3,
  1164.      statbot+((2*statdisp)+4),statright3},                    /* control rectangle */
  1165.     StatTextControl{{                                    /* control type */
  1166.         0xFF03,                                            /* flag */
  1167.         0x1002,                                            /* more flags */
  1168.         0,                                                /* ref con */
  1169.         Parm3ID                                        /* title ref */
  1170.     }};
  1171. }; 
  1172.  
  1173. resource rControlTemplate (curfileID)  {
  1174.     curfileID,                                        /* control ID */
  1175.     {stattop+(11*statdisp),statleft2,
  1176.      statbot+(11*statdisp),statleft3+50},                    /* control rectangle */
  1177.     StatTextControl{{                                    /* control type */
  1178.         0xFF03,                                            /* flag */
  1179.         0x1002,                                            /* more flags */
  1180.         0,                                                /* ref con */
  1181.         curfileID                                        /* title ref */
  1182.     }};
  1183. }; 
  1184.  
  1185. resource rControlTemplate (loadedAtID)  {
  1186.     loadedAtID,                                        /* control ID */
  1187.     {stattop+(12*statdisp),statleft2,
  1188.      statbot+(12*statdisp),editright2},                    /* control rectangle */
  1189.     StatTextControl{{                                    /* control type */
  1190.         0xFF03,                                            /* flag */
  1191.         0x1002,                                            /* more flags */
  1192.         0,                                                /* ref con */
  1193.         loadedAtID                                        /* title ref */
  1194.     }};
  1195. }; 
  1196.  
  1197. resource rControlTemplate (buffSizeID)  {
  1198.     buffSizeID,                                        /* control ID */
  1199.     {stattop+(12*statdisp),statleft3,
  1200.      statbot+(12*statdisp),editright3},                    /* control rectangle */
  1201.     StatTextControl{{                                    /* control type */
  1202.         0xFF03,                                            /* flag */
  1203.         0x1002,                                            /* more flags */
  1204.         0,                                                /* ref con */
  1205.         buffSizeID                                        /* title ref */
  1206.     }};
  1207. }; 
  1208.  
  1209. resource rControlTemplate (resultID)  {
  1210.     resultID,                                        /* control ID */
  1211.     {stattop+(9*statdisp),statleft2,
  1212.      statbot+(9*statdisp),editright2},                    /* control rectangle */
  1213.     StatTextControl{{                                    /* control type */
  1214.         0xFF03,                                            /* flag */
  1215.         0x1002,                                            /* more flags */
  1216.         0,                                                /* ref con */
  1217.         resultID                                        /* title ref */
  1218.     }};
  1219. }; 
  1220.  
  1221. resource rControlTemplate (toolerrID)  {
  1222.     toolerrID,                                        /* control ID */
  1223.     {stattop+(9*statdisp),statleft3,
  1224.      statbot+(9*statdisp),editright3},                    /* control rectangle */
  1225.     StatTextControl{{                                    /* control type */
  1226.         0xFF03,                                            /* flag */
  1227.         0x1002,                                            /* more flags */
  1228.         0,                                                /* ref con */
  1229.         toolerrID                                        /* title ref */
  1230.     }};
  1231. }; 
  1232.  
  1233. resource rTextForLETextBox2 (DocRegParamBlkID) {
  1234.         "DocRegParamBlk"
  1235. };
  1236.  
  1237. resource rTextForLETextBox2 (oscGenTypeID) {
  1238.         "oscGenType"
  1239. };
  1240.  
  1241. resource rTextForLETextBox2 (freqLow1ID) {
  1242.         "freqLow1"
  1243. };
  1244.  
  1245. resource rTextForLETextBox2 (freqHigh1ID) {
  1246.         "freqHigh1"
  1247. };
  1248.  
  1249. resource rTextForLETextBox2 (vol1ID) {
  1250.         "vol1"
  1251. };
  1252.  
  1253. resource rTextForLETextBox2 (tablePtr1ID) {
  1254.         "tablePtr1"
  1255. };
  1256.  
  1257. resource rTextForLETextBox2 (control1ID) {
  1258.         "control1"
  1259. };
  1260.  
  1261. resource rTextForLETextBox2 (tableSize1ID) {
  1262.         "tableSize1"
  1263. };
  1264.  
  1265. resource rTextForLETextBox2 (freqLow2ID) {
  1266.         "freqLow2"
  1267. };
  1268.  
  1269. resource rTextForLETextBox2 (freqHigh2ID) {
  1270.         "freqHigh2"
  1271. };
  1272.  
  1273. resource rTextForLETextBox2 (vol2ID) {
  1274.         "vol2"
  1275. };
  1276.  
  1277. resource rTextForLETextBox2 (tablePtr2ID) {
  1278.         "tablePtr2"
  1279. };
  1280.  
  1281. resource rTextForLETextBox2 (control2ID) {
  1282.         "control2"
  1283. };
  1284.  
  1285. resource rTextForLETextBox2 (tableSize2ID) {
  1286.         "tableSize2"
  1287. };
  1288.  
  1289. resource rTextForLETextBox2 (SoundParamBlockID) {
  1290.         "SoundParamBlock"
  1291. };
  1292.  
  1293. resource rTextForLETextBox2 (waveStartID) {
  1294.         "waveStart"
  1295. };
  1296.  
  1297. resource rTextForLETextBox2 (waveSizeID) {
  1298.         "waveSize"
  1299. };
  1300.  
  1301. resource rTextForLETextBox2 (freqOffsetID) {
  1302.         "freqOffset"
  1303. };
  1304.  
  1305. resource rTextForLETextBox2 (docBufferID) {
  1306.         "docBuffer"
  1307. };
  1308.  
  1309. resource rTextForLETextBox2 (bufferSizeID) {
  1310.         "bufferSize"
  1311. };
  1312.  
  1313. resource rTextForLETextBox2 (nextWavePtrID) {
  1314.         "nextWavePtr"
  1315. };
  1316.  
  1317. resource rTextForLETextBox2 (volSettingID) {
  1318.         "volSetting"
  1319. };
  1320.  
  1321. resource rTextForLETextBox2 (Parm1ID) {
  1322.         "*6"
  1323. };
  1324.  
  1325. resource rTextForLETextBox2 (Parm2ID) {
  1326.         "*7"
  1327. };
  1328.  
  1329. resource rTextForLETextBox2 (Parm3ID) {
  1330.         "*8"
  1331. };
  1332.  
  1333. resource rTextForLETextBox2 (curfileID) {
  1334.         "Current File: *1"
  1335. };
  1336.  
  1337. resource rTextForLETextBox2 (loadedAtID) {
  1338.         "Loaded At:   $*2"
  1339. };
  1340.  
  1341. resource rTextForLETextBox2 (buffSizeID) {
  1342.         "Buffer Size: $*3"
  1343. };
  1344.  
  1345. resource rTextForLETextBox2 (resultID) {
  1346.         "Result:      $*4"
  1347. };
  1348.  
  1349. resource rTextForLETextBox2 (toolerrID) {
  1350.         "_ToolErr:    $*5"
  1351. };
  1352.  
  1353. /* Text Edit Controls*/
  1354.  
  1355. resource rControlTemplate (oscGenType)  {
  1356.     oscGenType,                                                                /* control ID */
  1357.     {stattop+(0*statdisp),editleft,
  1358.      statbot+(0*statdisp),editright},                    /* control rectangle */
  1359.     EditLineControl{{                                                /* control type */
  1360.         0,                                                            /* Flag */
  1361.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1362.         0,                                                            /* ref con */
  1363.         40,                                                            /* Max Length */
  1364.         oscGenType                                                    /* Initial Value Ref */
  1365.     }};
  1366. }; 
  1367.  
  1368. resource rControlTemplate (freqLow1)  {
  1369.     freqLow1,                                                                /* control ID */
  1370.     {stattop+(1*statdisp),editleft,
  1371.      statbot+(1*statdisp),editright},                    /* control rectangle */
  1372.     EditLineControl{{                                                /* control type */
  1373.         0,                                                            /* Flag */
  1374.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1375.         0,                                                            /* ref con */
  1376.         40,                                                            /* Max Length */
  1377.         freqLow1                                                    /* Initial Value Ref */
  1378.     }};
  1379. }; 
  1380.  
  1381. resource rControlTemplate (freqHigh1)  {
  1382.     freqHigh1,                                                                /* control ID */
  1383.     {stattop+(2*statdisp),editleft,
  1384.      statbot+(2*statdisp),editright},                    /* control rectangle */
  1385.     EditLineControl{{                                                /* control type */
  1386.         0,                                                            /* Flag */
  1387.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1388.         0,                                                            /* ref con */
  1389.         40,                                                            /* Max Length */
  1390.         freqHigh1                                                    /* Initial Value Ref */
  1391.     }};
  1392. }; 
  1393.  
  1394. resource rControlTemplate (vol1)  {
  1395.     vol1,                                                                /* control ID */
  1396.     {stattop+(3*statdisp),editleft,
  1397.      statbot+(3*statdisp),editright},                    /* control rectangle */
  1398.     EditLineControl{{                                                /* control type */
  1399.         0,                                                            /* Flag */
  1400.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1401.         0,                                                            /* ref con */
  1402.         40,                                                            /* Max Length */
  1403.         vol1                                                    /* Initial Value Ref */
  1404.     }};
  1405. }; 
  1406.  
  1407. resource rControlTemplate (tablePtr1)  {
  1408.     tablePtr1,                                                                /* control ID */
  1409.     {stattop+(4*statdisp),editleft,
  1410.      statbot+(4*statdisp),editright},                    /* control rectangle */
  1411.     EditLineControl{{                                                /* control type */
  1412.         0,                                                            /* Flag */
  1413.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1414.         0,                                                            /* ref con */
  1415.         40,                                                            /* Max Length */
  1416.         tablePtr1                                                    /* Initial Value Ref */
  1417.     }};
  1418. }; 
  1419.  
  1420. resource rControlTemplate (control1)  {
  1421.     control1,                                                                /* control ID */
  1422.     {stattop+(5*statdisp),editleft,
  1423.      statbot+(5*statdisp),editright},                    /* control rectangle */
  1424.     EditLineControl{{                                                /* control type */
  1425.         0,                                                            /* Flag */
  1426.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1427.         0,                                                            /* ref con */
  1428.         40,                                                            /* Max Length */
  1429.         control1                                                    /* Initial Value Ref */
  1430.     }};
  1431. }; 
  1432.  
  1433. resource rControlTemplate (tableSize1)  {
  1434.     tableSize1,                                                                /* control ID */
  1435.     {stattop+(6*statdisp),editleft,
  1436.      statbot+(6*statdisp),editright},                    /* control rectangle */
  1437.     EditLineControl{{                                                /* control type */
  1438.         0,                                                            /* Flag */
  1439.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1440.         0,                                                            /* ref con */
  1441.         40,                                                            /* Max Length */
  1442.         tableSize1                                                    /* Initial Value Ref */
  1443.     }};
  1444. }; 
  1445.  
  1446. resource rControlTemplate (freqLow2)  {
  1447.     freqLow2,                                                                /* control ID */
  1448.     {stattop+(7*statdisp),editleft,
  1449.      statbot+(7*statdisp),editright},                    /* control rectangle */
  1450.     EditLineControl{{                                                /* control type */
  1451.         0,                                                            /* Flag */
  1452.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1453.         0,                                                            /* ref con */
  1454.         40,                                                            /* Max Length */
  1455.         freqLow2                                                    /* Initial Value Ref */
  1456.     }};
  1457. }; 
  1458.  
  1459. resource rControlTemplate (freqHigh2)  {
  1460.     freqHigh2,                                                                /* control ID */
  1461.     {stattop+(8*statdisp),editleft,
  1462.      statbot+(8*statdisp),editright},                    /* control rectangle */
  1463.     EditLineControl{{                                                /* control type */
  1464.         0,                                                            /* Flag */
  1465.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1466.         0,                                                            /* ref con */
  1467.         40,                                                            /* Max Length */
  1468.         freqHigh2                                                    /* Initial Value Ref */
  1469.     }};
  1470. }; 
  1471.  
  1472. resource rControlTemplate (vol2)  {
  1473.     vol2,                                                                /* control ID */
  1474.     {stattop+(9*statdisp),editleft,
  1475.      statbot+(9*statdisp),editright},                    /* control rectangle */
  1476.     EditLineControl{{                                                /* control type */
  1477.         0,                                                            /* Flag */
  1478.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1479.         0,                                                            /* ref con */
  1480.         40,                                                            /* Max Length */
  1481.         vol2                                                    /* Initial Value Ref */
  1482.     }};
  1483. }; 
  1484.  
  1485. resource rControlTemplate (tablePtr2)  {
  1486.     tablePtr2,                                                                /* control ID */
  1487.     {stattop+(10*statdisp),editleft,
  1488.      statbot+(10*statdisp),editright},                    /* control rectangle */
  1489.     EditLineControl{{                                                /* control type */
  1490.         0,                                                            /* Flag */
  1491.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1492.         0,                                                            /* ref con */
  1493.         40,                                                            /* Max Length */
  1494.         tablePtr2                                                    /* Initial Value Ref */
  1495.     }};
  1496. }; 
  1497.  
  1498. resource rControlTemplate (control2)  {
  1499.     control2,                                                                /* control ID */
  1500.     {stattop+(11*statdisp),editleft,
  1501.      statbot+(11*statdisp),editright},                    /* control rectangle */
  1502.     EditLineControl{{                                                /* control type */
  1503.         0,                                                            /* Flag */
  1504.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1505.         0,                                                            /* ref con */
  1506.         40,                                                            /* Max Length */
  1507.         control2                                                    /* Initial Value Ref */
  1508.     }};
  1509. }; 
  1510.  
  1511. resource rControlTemplate (tableSize2)  {
  1512.     tableSize2,                                                                /* control ID */
  1513.     {stattop+(12*statdisp),editleft,
  1514.      statbot+(12*statdisp),editright},                    /* control rectangle */
  1515.     EditLineControl{{                                                /* control type */
  1516.         0,                                                            /* Flag */
  1517.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1518.         0,                                                            /* ref con */
  1519.         40,                                                            /* Max Length */
  1520.         tableSize2                                                    /* Initial Value Ref */
  1521.     }};
  1522. }; 
  1523.  
  1524. resource rControlTemplate (waveStart)  {
  1525.     waveStart,                                                                /* control ID */
  1526.     {stattop+(0*statdisp),editleft2,
  1527.      statbot+(0*statdisp),editright2},                    /* control rectangle */
  1528.     EditLineControl{{                                                /* control type */
  1529.         0,                                                            /* Flag */
  1530.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1531.         0,                                                            /* ref con */
  1532.         40,                                                            /* Max Length */
  1533.         waveStart                                                    /* Initial Value Ref */
  1534.     }};
  1535. }; 
  1536.  
  1537. resource rControlTemplate (waveSize)  {
  1538.     waveSize,                                                                /* control ID */
  1539.     {stattop+(1*statdisp),editleft2,
  1540.      statbot+(1*statdisp),editright2},                    /* control rectangle */
  1541.     EditLineControl{{                                                /* control type */
  1542.         0,                                                            /* Flag */
  1543.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1544.         0,                                                            /* ref con */
  1545.         40,                                                            /* Max Length */
  1546.         waveSize                                                    /* Initial Value Ref */
  1547.     }};
  1548. }; 
  1549.  
  1550. resource rControlTemplate (freqOffset)  {
  1551.     freqOffset,                                                                /* control ID */
  1552.     {stattop+(2*statdisp),editleft2,
  1553.      statbot+(2*statdisp),editright2},                    /* control rectangle */
  1554.     EditLineControl{{                                                /* control type */
  1555.         0,                                                            /* Flag */
  1556.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1557.         0,                                                            /* ref con */
  1558.         40,                                                            /* Max Length */
  1559.         freqOffset                                                    /* Initial Value Ref */
  1560.     }};
  1561. }; 
  1562.  
  1563. resource rControlTemplate (docBuffer)  {
  1564.     docBuffer,                                                                /* control ID */
  1565.     {stattop+(3*statdisp),editleft2,
  1566.      statbot+(3*statdisp),editright2},                    /* control rectangle */
  1567.     EditLineControl{{                                                /* control type */
  1568.         0,                                                            /* Flag */
  1569.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1570.         0,                                                            /* ref con */
  1571.         40,                                                            /* Max Length */
  1572.         docBuffer                                                    /* Initial Value Ref */
  1573.     }};
  1574. }; 
  1575.  
  1576. resource rControlTemplate (bufferSize)  {
  1577.     bufferSize,                                                                /* control ID */
  1578.     {stattop+(4*statdisp),editleft2,
  1579.      statbot+(4*statdisp),editright2},                    /* control rectangle */
  1580.     EditLineControl{{                                                /* control type */
  1581.         0,                                                            /* Flag */
  1582.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1583.         0,                                                            /* ref con */
  1584.         40,                                                            /* Max Length */
  1585.         bufferSize                                                    /* Initial Value Ref */
  1586.     }};
  1587. }; 
  1588.  
  1589. resource rControlTemplate (nextWavePtr)  {
  1590.     nextWavePtr,                                                                /* control ID */
  1591.     {stattop+(5*statdisp),editleft2,
  1592.      statbot+(5*statdisp),editright2},                    /* control rectangle */
  1593.     EditLineControl{{                                                /* control type */
  1594.         0,                                                            /* Flag */
  1595.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1596.         0,                                                            /* ref con */
  1597.         40,                                                            /* Max Length */
  1598.         nextWavePtr                                                    /* Initial Value Ref */
  1599.     }};
  1600. }; 
  1601.  
  1602. resource rControlTemplate (volSetting)  {
  1603.     volSetting,                                                                /* control ID */
  1604.     {stattop+(6*statdisp),editleft2,
  1605.      statbot+(6*statdisp),editright2},                    /* control rectangle */
  1606.     EditLineControl{{                                                /* control type */
  1607.         0,                                                            /* Flag */
  1608.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1609.         0,                                                            /* ref con */
  1610.         40,                                                            /* Max Length */
  1611.         volSetting                                                    /* Initial Value Ref */
  1612.     }};
  1613. }; 
  1614.  
  1615. resource rControlTemplate (Parm1)  {
  1616.     Parm1,                                                                /* control ID */
  1617.     {stattop+(0*statdisp),editleft3,
  1618.      statbot+(0*statdisp),editright3},                    /* control rectangle */
  1619.     EditLineControl{{                                                /* control type */
  1620.         0,                                                            /* Flag */
  1621.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1622.         0,                                                            /* ref con */
  1623.         40,                                                            /* Max Length */
  1624.         Parm1                                                    /* Initial Value Ref */
  1625.     }};
  1626. }; 
  1627.  
  1628. resource rControlTemplate (Parm2)  {
  1629.     Parm2,                                                                /* control ID */
  1630.     {stattop+((1*statdisp)+2),editleft3,
  1631.      statbot+((1*statdisp)+2),editright3},                    /* control rectangle */
  1632.     EditLineControl{{                                                /* control type */
  1633.         0,                                                            /* Flag */
  1634.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1635.         0,                                                            /* ref con */
  1636.         40,                                                            /* Max Length */
  1637.         Parm2                                                    /* Initial Value Ref */
  1638.     }};
  1639. }; 
  1640.  
  1641. resource rControlTemplate (Parm3)  {
  1642.     Parm3,                                                                /* control ID */
  1643.     {stattop+((2*statdisp)+4),editleft3,
  1644.      statbot+((2*statdisp)+4),editright3},                    /* control rectangle */
  1645.     EditLineControl{{                                                /* control type */
  1646.         0,                                                            /* Flag */
  1647.         fctlProcNotPtr+RefIsResource,                                /* More Flags */
  1648.         0,                                                            /* ref con */
  1649.         40,                                                            /* Max Length */
  1650.         Parm3                                                    /* Initial Value Ref */
  1651.     }};
  1652. }; 
  1653.  
  1654. resource rPString (oscGenType) {
  1655.     "0000"
  1656.     };
  1657.  
  1658. resource rPString (freqLow1) {
  1659.     "00"
  1660.     };
  1661.  
  1662. resource rPString (freqHigh1) {
  1663.     "00"
  1664.     };
  1665.  
  1666. resource rPString (vol1) {
  1667.     "00"
  1668.     };
  1669.  
  1670. resource rPString (tablePtr1) {
  1671.     "00"
  1672.     };
  1673.  
  1674. resource rPString (control1) {
  1675.     "00"
  1676.     };
  1677.  
  1678. resource rPString (tableSize1) {
  1679.     "00"
  1680.     };
  1681.  
  1682. resource rPString (freqLow2) {
  1683.     "00"
  1684.     };
  1685.  
  1686. resource rPString (freqHigh2) {
  1687.     "00"
  1688.     };
  1689.  
  1690. resource rPString (vol2) {
  1691.     "00"
  1692.     };
  1693.  
  1694. resource rPString (tablePtr2) {
  1695.     "00"
  1696.     };
  1697.  
  1698. resource rPString (control2) {
  1699.     "00"
  1700.     };
  1701.  
  1702. resource rPString (tableSize2) {
  1703.     "00"
  1704.     };
  1705.  
  1706. resource rPString (waveStart) {
  1707.     "00000000"
  1708.     };
  1709.  
  1710. resource rPString (waveSize) {
  1711.     "0000"
  1712.     };
  1713.  
  1714. resource rPString (freqOffset) {
  1715.     "0000"
  1716.     };
  1717.  
  1718. resource rPString (docBuffer) {
  1719.     "0000"
  1720.     };
  1721.  
  1722. resource rPString (bufferSize) {
  1723.     "0000"
  1724.     };
  1725.  
  1726. resource rPString (nextWavePtr) {
  1727.     "00000000"
  1728.     };
  1729.  
  1730. resource rPString (volSetting) {
  1731.     "0000"
  1732.     };
  1733.  
  1734. resource rPString (Parm1) {
  1735.     "00000000"
  1736.     };
  1737.  
  1738. resource rPString (Parm2) {
  1739.     "00000000"
  1740.     };
  1741.  
  1742. resource rPString (Parm3) {
  1743.     "00000000"
  1744.     };
  1745.  
  1746. resource rControlTemplate (execbut)  {
  1747.     execbut,                                                /* control ID */
  1748.     {stattop+(8*statdisp)-2,editleft3,
  1749.      stattop+(8*statdisp)-2+butheight,editleft3+butwidth},    /* control rect */
  1750.     SimpleButtonControl{{                                    /* button type */
  1751.         0,                                                    /* flag */
  1752.         0x1002,                                                /* more flags */
  1753.         0,                                                    /* ref con */
  1754.         execbut                                                /* title ref */
  1755.     }};
  1756. }; 
  1757. resource rPString (execbut) {
  1758.     "Execute"
  1759.     };
  1760.  
  1761. resource rControlTemplate (loadbut)  {
  1762.     loadbut,                                                /* control ID */
  1763.     {stattop+(11*statdisp)-2,editleft3,
  1764.      stattop+(11*statdisp)-2+butheight,editleft3+butwidth},    /* control rect */
  1765.     SimpleButtonControl{{                                    /* button type */
  1766.         0,                                                    /* flag */
  1767.         0x1002,                                                /* more flags */
  1768.         0,                                                    /* ref con */
  1769.         loadbut                                                /* title ref */
  1770.     }};
  1771. }; 
  1772. resource rPString (loadbut) {
  1773.     "Load"
  1774.     };
  1775.  
  1776. resource rControlTemplate (sndCmdPopUp) {
  1777.     sndCmdPopUp,                                        /* control ID */
  1778.     {stattop+((8*statdisp)-3),statleft2,
  1779.      statbot+((8*statdisp)-3),statleft3+80},            /* control rectangle */
  1780.     PopUpControl{{                                        /* control type */
  1781.         fInWindowOnly,                                    /* flags */
  1782.         FctlProcNotPtr+RefIsResource,                    /* MoreFlags */
  1783.         0,                                                /* RefCon */
  1784.         0,                                                /* Title Width */
  1785.         SoundMenuRID,                                    /* Menu ref */
  1786.         SoundVersionRID                                    /* Initial Value */
  1787.     }}
  1788. };
  1789.